package com.wu.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wu.pojo.CommentReport;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author: 吴磊
 * @program: blog
 * @create: 2021-05-13 15:53
 */
@Mapper
public interface CommentReportMapper extends BaseMapper<CommentReport> {
    /**
     * 插入评论举报内容
     *
     * @param commentReport
     * @return
     */
    Integer insertCommentReport(CommentReport commentReport);


    /**
     * 通过Id删除举报
     *
     * @param reportId
     * @return
     */
    Integer deleteCommentReportById(@Param("reportId") String reportId);

    /**
     * 通过Ids删除举报
     *
     * @param reportIds
     * @return
     */
    Integer deleteCommentReportByIds(List<String> reportIds);

    /**
     * 获取所有未处理的评论举报
     *
     * @param curPage
     * @return
     */
    List<CommentReport> getAllCommentReport(@Param("curPage") Integer curPage);


    /**
     * 通过Id查看举报明细
     *
     * @param reportId
     * @return
     */
    CommentReport getCommentReportById(@Param("reportId") String reportId);

    /**
     * 获取所有评论的举报数
     *
     * @return
     */
    Integer getAllCommentReportCount();

    /**
     * 通过文章Id获取此文章的所有评论Id
     *
     * @param articleId
     * @return
     */
    List<String> getReportIdsByArticleId(@Param("articleId") String articleId);

    /**
     * 通过评论Ids删除评论举报
     *
     * @param commentIds
     * @return
     */
    Integer deleteCommentReportsByCommentIds(List<String> commentIds);

    /**
     * 通过文章ID删除所有评论举报
     *
     * @param articleId
     * @return
     */
    Integer deleteCommentByArticleId(@Param("articleId") String articleId);


    /**
     * 获取所有的评论举报Id
     *
     * @return
     */
    List<Map<String, String>> getAllCommentReportId();
}
